eco_gamefandomcom-20200213-history
Food
TYPES OF FOOD Each type of food will have multiple values associated with it: * Volume - This is how much stomach space it fills. Expressed in percent of stomach. * Calories - Determines how much work you can do, and affects body mass, and how fast food decreases. * Nutrients - Determine skill rates. * Carbs '''- Used to perform basic tasks such as collecting berries or chopping trees. * '''Protein * Vitamins * Sodium * Fat USER PROPERTIES EATING FOOD To eat food, simply hit Tab and then r'ight right click on the icon of the food' item you are trying to eat. (Please Note: You do not need to have the piece of food selected in your hotbar in order to eat it.) The player’s stomach tracks all the same variables as a piece of food, and when food is eaten each stomach value is simply summed with the food’s value. Only the ‘volume’ has a cap, the rest are unbounded. If any food can be eaten, the whole thing will be consumed, with values raising a prorated amount based on remaining stomach volume if there’s not enough room for the whole amount. DIGESTION| EDIT SOURCE Food will drop at a defined calories-per-hour rate, specified in the server config. Each tick in which food drops, a calculation is made to determine how all the values fall. Percent-change in calories is calculated (if calories dropped by 5, and the stomach contains 50 currently, that’s a 10% drop). Every other value is dropped by that same percent (thus if calories reach zero, all values are dropped to zero). This happens for both online and offline users. Calories can also be burned when performing actions. Labor actions like tilling, hunting, chopping trees, and building will have a ‘calorie cost’ defined with them. When users take these actions, their food values are reduced in the same way as described above. When calories are under a given threshold, a speed-penalty will be applied that affects movement and player actions. This penalty multiplier will increase as calories drop, reaching a given max at zero calories (default 50%). Players who continue to labor while at zero calories will not reduce their calories below zero, but instead will reduce their body mass (accelerating starvation time). SKILL CHANGE Each tick, the nutrients contained in the stomach are used to calculate the skill advancement rate as follows: A nutrient’s value will determine the ‘skill component’. Each nutrient can have a ‘max desired value’. Nutrient values higher this number will begin reducing the skill component (this is to represent nutrients you want some of, but not too much, ie sodium). For example, the ‘max desired value’ of sodium is ‘.3’. If a player’s sodium value reaches .5, then their skill component of sodium is calculated as .1 (.5 is .2 more than the desired value of .3, and .3 - .2 = .1). Note that this can make skill components go negative if too much is consumed, this is intentional, and a player that eats very poorly can actually have a negative skill rate. Skill components are then applied to a function and summed to determine the skill rate. IE: Skill rate = sum of (square root(skill component)) over all skill components. The square root is applied to make it more beneficial to diversify in multiple types of foods. Negative skill rates affect the current highest skill. Skills cannot go below zero. Skill ticks happens for both online and offline users. BODY MASS Players will have a ‘body mass’ value defined, defaulted to 80. If their current calorie value is less than a min bound value (config defined), their body mass will begin to decrease, changing at a rate defined in the config (the rate of change when the players stomach is empty is defined, and the rate scaled from ‘zero’ at the stomach min bound, to ‘max’ when the stomach is totally empty). Similarly, if calories is greater than a given ‘max bound’, their body mass will rise. Once body mass is a given percentage away from the starting value (20% below or 50% above), players will start to have a speed penalty applied to their actions, scaled by percentage. As their bodymass continues to diverge from normal, this penalty will increase. Eventually it will reach fatal values (40% below, 350% above), and the player will die permanently (you can eat yourself to death in Eco). Starvation/eating yourself to death are the only two ways you can die in Eco. DESIGN RATIONALE This system then results in a player experience where players need to optimize their stomach capacity, putting in foods of various values in nutrients to give the ideal nutrient spread, without eating too much of the nutrients that can actually reduce skill value. Skills will be incredibly important in advancing the civilization, and this system ties skills directly to the ecosystem (from which food originally comes) and the economy (from which food is purchased, and enhanced using special buildings), with required diversity encouraging diversification of food resources, and thus encouraging collaboration and economy. It creates a system that can be intuitively understood, yet adds a lot of depth and different ways to optimize. It also provides an individual need rather than a group need, and thus is key in creating that dynamic of ‘individual vs the group’ that is foundational to the game’s theme. Because calories determine labor speed, players will have a natural limitation to how much they can do in a play session. If they work through all their calories and drop to zero, they will become incredibly slow, so the rate of work is determined by the strength of food production in the game. It will also have a natural limiting effect on how much work can be done in a given amount of time, which is intentional - players will have to wait until more food grows before they can continue building. During this time they are free to do other things though, like participate in the economy and government and other non-labor intensive mechanics.